From b6d74509fb619b359676f884eb2f7b4dfc17bc7f Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Fri, 25 Apr 2025 15:52:31 +0200 Subject: [PATCH] fix(propagation): ensure we run file removal propagation steps Signed-off-by: Matthieu Gallien --- src/libsync/owncloudpropagator.cpp | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp index 65279c5cc..5751911e1 100644 --- a/src/libsync/owncloudpropagator.cpp +++ b/src/libsync/owncloudpropagator.cpp @@ -1638,16 +1638,7 @@ void PropagateRootDirectory::slotSubJobsFinished(SyncFileItem::Status status) return; } - if (!_dirDeletionJobs._jobsToDo.empty()) { - _dirDeletionJobs.scheduleSelfOrChild(); - return; - } - - if (status != SyncFileItem::Success - && status != SyncFileItem::Restoration - && status != SyncFileItem::BlacklistedError - && status != SyncFileItem::FileNameClash - && status != SyncFileItem::Conflict) { + if (status == SyncFileItem::FatalError) { if (_state != Finished) { // Synchronously abort abort(AbortType::Synchronous); @@ -1661,18 +1652,18 @@ void PropagateRootDirectory::slotSubJobsFinished(SyncFileItem::Status status) if (_errorStatus == SyncFileItem::NoStatus) { switch (status) { case SyncFileItem::NoStatus: - case SyncFileItem::FatalError: - case SyncFileItem::NormalError: - case SyncFileItem::SoftError: - case SyncFileItem::Conflict: case SyncFileItem::FileIgnored: - case SyncFileItem::FileLocked: case SyncFileItem::Restoration: - case SyncFileItem::FileNameInvalid: - case SyncFileItem::FileNameInvalidOnServer: - case SyncFileItem::DetailError: case SyncFileItem::Success: break; + case SyncFileItem::FileLocked: + case SyncFileItem::DetailError: + case SyncFileItem::SoftError: + case SyncFileItem::Conflict: + case SyncFileItem::FatalError: + case SyncFileItem::FileNameInvalid: + case SyncFileItem::FileNameInvalidOnServer: + case SyncFileItem::NormalError: case SyncFileItem::FileNameClash: case SyncFileItem::BlacklistedError: _errorStatus = status; -- 2.30.2